package work.mediway.mdm.biz.entity.biz;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;

import javax.validation.constraints.NotBlank;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 字典申请业务流程
 */
@ApiModel(value = "字典申请业务流程")
@Data
@TableName(value = "bpm_dict")
public class BpmDict implements Serializable {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "主键")
    private Long id;

    /**
     * 表名
     */
    @TableField(value = "table_code")
    @ApiModelProperty(value = "表名")
    private String tableCode;

    /**
     * 字典数据
     */
    @TableField(value = "dict_data")
    @ApiModelProperty(value = "字典数据")
    private String dictData;

    /**
     * 请假结果
     */
    @TableField(value = "`result`")
    @ApiModelProperty(value = "请假结果")
    private Byte result;

    /**
     * 流程实例的编号
     */
    @TableField(value = "process_instance_id")
    @ApiModelProperty(value = "流程实例的编号")
    private String processInstanceId;

    /**
     * 创建者
     */
    @TableField(value = "creator")
    @ApiModelProperty(value = "创建者", hidden = true)
    private String creator;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    @ApiModelProperty(value = "创建时间", hidden = true)
    private String createTime;

    /**
     * 更新者
     */
    @TableField(value = "updater")
    @ApiModelProperty(value = "更新者", hidden = true)
    private String updater;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    @ApiModelProperty(value = "更新时间", hidden = true)
    private String updateTime;

    /**
     * 是否删除
     */
    @TableField(value = "deleted")
    @ApiModelProperty(value = "是否删除")
    private Boolean deleted;

    /**
     * 租户编号
     */
    @TableField(value = "tenant_id")
    @ApiModelProperty(value = "租户编号", hidden = true)
    private Long tenantId;

    @TableField(exist = false)
    @ApiModelProperty(value = "流程定义的编号", required = true)
    @NotBlank(message = "流程定义编号不能为空")
    private String processDefinitionId;

    private static final long serialVersionUID = 1L;
}